本系列文為個人研究強化學習時,所作的一些筆記,主要的閱讀材料為 Sutton 所著的 Reinforcement Learning: An Introduction。這本書可以在 Amazon 上購買 ,也可以在網路上找到草稿。另外,如果有除了 Sutton 著作以外的相關資料,會附在該日的參考資料中。
在理解強化學習的理論之餘,希望可以作到另外兩件事
強化學習本身是一種透過 與環境互動 來學習的演算法,透過觀察環境的狀態,我們可以決定在這個狀態下,應該採取什麼動作。我們會從環境中,獲得關於這個動作的回饋,進一步決定我們下一次遇到這種狀態時,應該要繼續採去這個動作,或是換另外一種動作。我們舉個實際中的例子,幫助理解上面的內容:
有一位美國的心理學家 Skinner (史金納),他曾經做過一個叫 Skinner Box 的實驗裝置 。史金納把一隻飢餓的老鼠放到箱子中,箱子中有一根桿子,只要壓下桿子,就會有食物掉到箱子中。史金納的實驗結果,發現老鼠學會按下桿子,就會跑出食物。
對應到強化學習中,可以想像老鼠有一種狀態(飢餓)、兩種動作(壓桿子、發呆)、回饋(出現食物、什麼都沒有)。老鼠在飢餓的狀態下,壓桿子會出現食物,是一種正向回饋,因此會促進飢餓狀態下壓桿子;反之,發呆不會出現東西,相對起來是一種負向回饋,所以會減少在飢餓狀態下發呆。
上述的例子,是一個相對簡單的情況(一個狀態、兩個動作),那我們要怎麼在複雜的情況下,仍然保證強化學習在某個狀態下,知道採取什麼動作呢?為了解決這個問題,往後幾天將會說明馬可夫決策過程,根據 Sutton 所述, 90% 的強化學習演算法都基於這個決策過程,所以理解這個東西,我想是有幫助的。
Skinner Box :這個實驗發現 操作制約 這種學習方式。